home *** CD-ROM | disk | FTP | other *** search
- unit Main;
-
- interface
-
- uses
- Windows, Messages, SysUtils, Classes, HTTPApp, DBClient, MConnect,
- MidasCon;
-
- type
- TwmMain = class(TWebModule)
- procedure wmMainWebActionItemAnyAction(Sender: TObject;
- Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
- private
- protected
- public
- end;
-
- var
- wmMain: TwmMain;
-
- implementation
-
- {$R *.DFM}
-
- uses
- ActiveX, SML_Handler_TLB;
-
- procedure TwmMain.wmMainWebActionItemAnyAction(Sender: TObject;
- Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
- var
- Environment: TStringList;
- PageProducer: SMLHandler;
- begin
- Environment := TStringList.Create;
- try
- Request.ExtractContentFields(Environment);
- Environment.AddStrings(Request.QueryFields);
-
- with Environment, Request do
- begin
- Values['REQUEST_METHOD'] := Method;
- Values['SERVER_PROTOCOL'] := ProtocolVersion;
- Values['URL'] := URL;
- Values['QUERY_STRING'] := Query;
- Values['PATH_INFO'] := PathInfo;
- Values['PATH_TRANSLATED'] := PathTranslated;
- Values['HTTP_CACHE_CONTROL'] := CacheControl;
- Values['HTTP_DATE'] := DateToStr(Date);
- Values['HTTP_ACCEPT'] := Accept;
- Values['HTTP_FROM'] := From;
- Values['HTTP_HOST'] := Host;
- Values['HTTP_IF_MODIFIED_SINCE'] := DateTimeToStr(IfModifiedSince);
- Values['HTTP_REFERER'] := Referer;
- Values['HTTP_USER_AGENT'] := UserAgent;
- Values['HTTP_CONTENT_ENCODING'] := ContentEncoding;
- Values['HTTP_CONTENT_TYPE'] := ContentType;
- Values['HTTP_CONTENT_LENGTH'] := IntToStr(ContentLength);
- Values['HTTP_CONTENT_VERSION'] := ContentVersion;
- Values['HTTP_DERIVED_FROM'] := DerivedFrom;
- Values['HTTP_EXPIRES'] := DateTimeToStr(Expires);
- Values['HTTP_TITLE'] := Title;
- Values['REMOTE_ADDR'] := RemoteAddr;
- Values['REMOTE_HOST'] := RemoteHost;
- Values['REMOTE_USER'] := GetFieldByName('REMOTE_USER');
- Values['SCRIPT_NAME'] := ScriptName;
- Values['SERVER_PORT'] := IntToStr(ServerPort);
- Values['CONTENT'] := Content;
- Values['HTTP_CONNECTION'] := Connection;
- Values['HTTP_COOKIE'] := Cookie;
- Values['HTTP_AUTHORIZATION'] := Authorization;
- end;
-
- PageProducer := coSMLHandler.Create;
- try
- Response.Content := PageProducer.GetContent(Environment.CommaText);
- finally
- PageProducer := nil;
- end;
- finally
- Environment.Free;
- end;
- end;
-
- initialization
- OleInitialize(nil);
- finalization
- OleUninitialize;
- end.
-